/* Custom fixes for icons and carousels - MINIMAL CHANGES ONLY */

/* Ensure ElementsKit icons display properly */
.icon::before,
.icon {
  font-family: elementskit !important;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
}

/* Ensure owl carousel navigation is visible */
.owl-carousel .owl-nav {
  display: block !important;
}

.owl-carousel .owl-nav button {
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Ensure swiper navigation arrows are visible */
.eae-swiper-button {
  cursor: pointer;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Fix header title to stay on one line and add proper spacing */
.elementor-1590 .elementor-element.elementor-element-b61890b .elementor-heading-title {
  white-space: nowrap !important;
}

.elementor-1590 .elementor-element.elementor-element-b61890b .elementor-heading-title b {
  white-space: nowrap !important;
}

/* Increase the width of middle container and reduce logo containers */
.elementor-1590 .elementor-element.elementor-element-b94fe45 {
  width: 20% !important;
  flex: 0 0 20% !important;
}

.elementor-1590 .elementor-element.elementor-element-f7f3396 {
  width: 60% !important;
  flex: 0 0 60% !important;
  padding: 0 40px !important;
}

.elementor-1590 .elementor-element.elementor-element-89ef568 {
  width: 20% !important;
  flex: 0 0 20% !important;
}

/* Ensure the header container has proper spacing */
.elementor-1590 .elementor-element.elementor-element-7cb5677 > .e-con-inner {
  gap: 0px !important;
  justify-content: space-between !important;
}

/* DO NOT override any font sizes - use original CSS */


/* Breadcrumb arrow separator using CSS instead of font icon */
.breadcrumb-link a:after {
  content: "›";
  font-family: Arial, sans-serif;
  font-size: 18px;
  margin: 0 8px;
  color: #FFFFFF;
}

/* ========== MOBILE VIEW FIXES (max-width: 767px) - Desktop unchanged ========== */
@media only screen and (max-width: 767px) {
  /* Prevent horizontal overflow and ensure page fits viewport */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
  }

  /* Allow header title to wrap on mobile instead of nowrap */
  .elementor-1590 .elementor-element.elementor-element-b61890b .elementor-heading-title,
  .elementor-1590 .elementor-element.elementor-element-b61890b .elementor-heading-title b {
    white-space: normal !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  /* Header columns: stack/flex properly on mobile */
  .elementor-1590 .elementor-element.elementor-element-b94fe45,
  .elementor-1590 .elementor-element.elementor-element-f7f3396,
  .elementor-1590 .elementor-element.elementor-element-89ef568 {
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  /* Reduce header middle section padding on mobile */
  .elementor-1590 .elementor-element.elementor-element-f7f3396 {
    padding: 0 12px !important;
  }

  /* Ensure header container wraps and fits */
  .elementor-1590 .elementor-element.elementor-element-7cb5677 > .e-con-inner {
    flex-wrap: wrap !important;
    max-width: 100% !important;
  }

  /* Marquee: contain within viewport */
  .marquee-parent-container,
  .marquee-container {
    max-width: 100vw !important;
    overflow: hidden !important;
  }

  /* Elementor containers: prevent overflow */
  .elementor-section,
  .elementor-container,
  .elementor-widget-wrap {
    max-width: 100% !important;
  }

  /* Header/masthead: fit viewport */
  #masthead,
  .elementor-1590 {
    max-width: 100vw !important;
    min-width: 0 !important;
  }

  /* Breadcrumb: allow wrapping */
  .breadcrumb-link .currentm {
    white-space: normal !important;
    max-width: 100% !important;
  }
}
